#ifndef __CLIENT_LINK_H__
#define __CLIENT_LINK_H__


// 导入 系统 头文件
#include <head.h>

// 客户端信息结点
typedef struct Client_link_node
{
    // 结点ID
    int id;
    // 数据
    struct sockaddr_in Client_addr;
    int Client_sofd;
    socklen_t client_len;
    // 结点
    struct Client_link_node * next;
}Client_link_node;

// 客户端信息头结点
typedef struct Client_link
{
    // 结点
    struct Client_link_node * next;
    // 连接数量
    int len;
}Client_link;

// 客户端信息  用于传递给线程  内部包含了头节点和当前连接的ID
typedef struct Client_link_up
{
    // 链表头结点
    struct Client_link * link;
    // 当前连接ID
    int id;
}Client_link_up;


Client_link * link_Client_init(void);

// 插入 -- 尾插
Client_link_node * link_Client_insert(Client_link * L , Client_link_node node);

Client_link_node * link_Client_find_id(Client_link * L ,  int id);

#endif


